package object;
/**
 * 包装类的演示
 * */
public class IntegerDemo {
    public static void main(String[] args) {
        //演示包装类的常用操作
        //1. 可以通过包装类来获取基本类型的取值范围
        int max = Integer.MAX_VALUE;//获取最大值
        int min = Integer.MIN_VALUE;//获取最小值
        System.out.println("int的最大值："+max+"最小值："+min);

        long max1 = Long.MAX_VALUE;
        long min1 = Long.MIN_VALUE;
        System.out.println("long的最大值："+max1+"最小值："+min1);

        //2.包装类可以将字符串转换为对应的基本类型-----必须熟练掌握
        String s1 = "39";
        int age = Integer.parseInt(s1);//将字符串s1转换为int类型并赋值给age
        System.out.println(age);//int类型的39


        String s2 = "123.456";
        double price = Double.parseDouble(s2);
        System.out.println(price);//double类型的123.456


/*
        int age2 = Integer.parseInt(s2);
        double price2 = Double.parseDouble(s1);
        System.out.println(age2);//数据类型必须匹配
        System.out.println(price2);//数据类型必须匹配
*/


        //触发了自动装箱功能      自动编译成 Integer i = new Integer(5);
        Integer i = 5;// 基本类型到包装类----装箱
        System.out.println(i);//5

        //触发自动拆箱   自动变异成 int j = i.intValue（）
        int  j = i ;//  包装类到基本类型----拆箱



















        //包装类的定义

        /*
        Integer i1 = new Integer(5);
        Integer i2 = new Integer(5);
        System.out.println(i1 ==i2);//false  == 比较的是地址
        System.out.println(i1.equals(i2));//ture   包装类都重写了equals(),


        //valueOf()方法会复用1个字节（-128到127）范围内的数据，建议使用valueOf（）
        Integer i3 = Integer.valueOf(5);
        Integer i4 = Integer.valueOf(5);
        System.out.println(i3 == i4); //ture  == 比较的是地址
        *//*
        Integer i3 = Integer.valueOf(500);
        Integer i4 = Integer.valueOf(500);
        System.out.println(i3 == i4); //false  == 比较的是地址
        *//*
        System.out.println(i3.equals(i4));//ture   包装类都重写了equals(),

        //将包装类转换成基本数据类型
        int i= i4.intValue();
        System.out.println(i == 5);//t
*/


    }
}
